#ifndef _NUMERIC_TYPES_H_
#define _NUMERIC_TYPES_H_

template
<
    int fraction,
    int exponent = 0
>
struct Double
{
    Double() : value(fraction * pow(10, exponent)) {}
    
    const double value;
};

template
<
    int fraction,
    int exponent = 0
>
struct Float
{
    Float() : value(fraction * pow(10, exponent)) {}
    
    const float value;
};

#endif // _NUMERIC_TYPES_
